﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Mvc;
using GameSchool.Models;
using System.Web.Security;
using System.Diagnostics;

namespace GameSchool.Controllers
{
    public class GameRegistrationController : Controller
    {
		//Leikjaskráningar
		GameRegistrationRepository repository = new GameRegistrationRepository();

		//Leikir
		GameRepository grep = new GameRepository();

		//Hálfgerður debug action, sýnir allar leikjaskráningar í hrárri töflu
        public ActionResult Index()
        {
			var items = from n in repository.GameRegistrations()
						select n;
			return View(items);
        }


		//Sækir formið sem skráir nemanda í námskeið
		//Til að skrá nemanda í námskeið þarf fyrst að velja notandann,  okkur fannst þetta þægilegri leið en að rendera
		//dropdown lista með kannski með tugi nafna
		[HttpGet]
		public ActionResult EnlistStudent()
		{
			IEnumerable<Game> games = grep.Games();

			var userid = TempData["tempUserID"];
			ViewData["notandi"] = userid;
			ViewData["listOfGames"] = new SelectList(games, "ID", "Name");
			return View(new GameRegistration());
		}

		//Hér má parameter ALLS EKKI fylgja urlinu, þá virkar ekki "updatemodel" þegar Post aðgerðin er framkvæmd
		//Þetta var lagað með því að notast við TempData til að rétta gögn á milli controllera
		[HttpPost]
		public ActionResult EnlistStudent(FormCollection formdata)
		{
			GameRegistration newGameRegistration = new GameRegistration();
			repository.Add(newGameRegistration);
			UpdateModel(newGameRegistration);
			//setja inn validation
			repository.Save();
			return RedirectToAction("Games","Game");
		}
    }
}
